﻿using System;
using PrearrangedChaos.AgileZen.Service.Model;

namespace PrearrangedChaos.AgileZen.Service
{
    public interface IZenStoryEnumerable : IZenResourceEnumerable<IStory>
    {
        IZenStoryEnumerable WithDetails { get; }
        IZenStoryEnumerable WithMetrics { get; }
        IZenStoryEnumerable WithComments { get; }
        IZenStoryEnumerable WithMilestones { get; }
        IZenStoryEnumerable WithSteps { get; }
        IZenStoryEnumerable WithTasks { get; }
        IZenStoryEnumerable WithTags { get; }

        IZenResourceEnumerable<IStory> Filter(Func<IStoryFilter, ZenFilter> filter);
    }
}